﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Collections;

namespace LinqToPowershell
{
    public interface IQueryableWrapper<T> : IQueryableWrapper
    {
        new Func<IEnumerator<T>> GetEnumeratorFunc { get; }
        new IQueryable<T> Query { get; }
    }

    public interface IQueryableWrapper
    {
        Expression Expression { get; }
        IQueryProvider Provider { get; }
        Type ElementType { get; }
        Func<IEnumerator> GetEnumeratorFunc { get; }
        IQueryable Query { get; }
    }
}
